(Fdelete_process, Fprocess_id, sigchld_handler): Copy PID into EMACS_INT
authorEli Zaretskii <eliz@gnu.org>
Sat, 13 Jan 2007 21:57:35 +0000 (21:57 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 13 Jan 2007 21:57:35 +0000 (21:57 +0000)
to avoid GCC warnings.

src/process.c

index c2ec6021ad29a8a0c176f1234eedb47d3c1e4a10..9a7f9eea1c17f540c3f93bc912dcfa9663b7e4b0 100644 (file)
@@ -815,9 +815,12 @@ nil, indicating the current buffer's process.  */)
     {
 #ifdef SIGCHLD
       Lisp_Object symbol;
+      /* Assignment to EMACS_INT stops GCC whining about limited range
+        of data type.  */
+      EMACS_INT pid = p->pid;;
 
       /* No problem storing the pid here, as it is still in Vprocess_alist.  */
-      deleted_pid_list = Fcons (make_fixnum_or_float (p->pid),
+      deleted_pid_list = Fcons (make_fixnum_or_float (pid),
                                /* GC treated elements set to nil.  */
                                Fdelq (Qnil, deleted_pid_list));
       /* If the process has already signaled, remove it from the list.  */
@@ -827,7 +830,7 @@ nil, indicating the current buffer's process.  */)
       if (CONSP (p->status))
        symbol = XCAR (p->status);
       if (EQ (symbol, Qsignal) || EQ (symbol, Qexit))
-       Fdelete (make_fixnum_or_float (p->pid), deleted_pid_list);
+       Fdelete (make_fixnum_or_float (pid), deleted_pid_list);
       else
 #endif
        {
@@ -912,10 +915,13 @@ For a network connection, this value is nil.  */)
      (process)
      register Lisp_Object process;
 {
+  /* Assignment to EMACS_INT stops GCC whining about limited range of
+     data type.  */
+  EMACS_INT pid;
+
   CHECK_PROCESS (process);
-  return (XPROCESS (process)->pid
-         ? make_fixnum_or_float (XPROCESS (process)->pid)
-         : Qnil);
+  pid = XPROCESS (process)->pid;
+  return (pid ? make_fixnum_or_float (pid) : Qnil);
 }
 
 DEFUN ("process-name", Fprocess_name, Sprocess_name, 1, 1, 0,
@@ -6405,7 +6411,7 @@ sigchld_handler (signo)
 
   while (1)
     {
-      register int pid;
+      register EMACS_INT pid;
       WAITTYPE w;
       Lisp_Object tail;